# 云胡的编程随笔第 1 期
# 一、点滴记录
# 1.1 时区设置
java
和 javascript
的时区遵守 INNA
时区数据库,中国是用 Asia/Shanghai
。
# 1.2 接口测试技巧
将前端的链接用 cURL (bash)
复制可以在 postman
中导入,会自动携带 token
等数据,方便测试后端接口。
# 1.3 Vue 性能优化
vue
的计算属性可以自动缓存,只有依赖的响应式数据变化时才会重新计算,而函数每一次调用都会计算。
# 1.4 数据库存储 Emoji
数据表如果需要存储 emoji
表情,那么数据表在创建时可以指定字符集为 utf8mb4
,COLLATE
会指定字符串的排列方式,utf8mb4_unicode_ci
不区分大小写。
```sql
-- 创建表时指定
CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
xxxx yyy
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```
# 1.5 前端获取当前时间
```js
// 1. 格式化为 yyyy-MM-dd HH:mm:ss
const nowTime = new Date().toISOString().replace('T', ' ').substring(0, 19);
// 2. 使用 dayjs
const nowTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
```
# 1.6 cursor
AI 助手技巧
1. 在某个方法上使用 `/optimize` 命令
可以分析,识别并优化代码性能,然后可以重构我们的代码使其通俗易懂,可以减少冗余的中间代码。
2. 在某个方法上使用 `/explain` 可以对这个方法进行详细的解释。
3. 在提问时加上 `@Codebase` 可以理解代码库的整体结构和依赖关系,可以在整体的视角下进行提问,可以跨文件理解,然后也可以全局搜索特定功能的位置。
# 1.7 Spring Bean 的声明周期
Spring 中 Bean 的生命周期是指:Bean 在 Spring(IoC)中从创建到销毁的整个过程。
Spring 中 Bean 的生命周期主要包含以下:
实例化:为 Bean 分配内存空间;
设置属性:将当前类依赖的 Bean 属性,进行注入和装配;
初始化:执行各种通知;
执行初始化的前置方法;
执行初始化方法;
执行初始化的后置方法。
使用 Bean:在程序中使用 Bean 对象;
销毁 Bean:将 Bean 对象进行销毁操作。
# 1.8 JavaScript 对象简写
JavaScript 中的对象属性简写语法(Object Property Shorthand)。
在 ES6(ES2015)中引入的这个语法特性,当对象的属性名和变量名相同时,可以简写。
// 完整写法
const obj = {
provinceId: provinceId,
provinceName: provinceName
};
// 简写语法(ES6+)
const obj = {
provinceId,
provinceName
};
2
3
4
5
6
7
8
9
10
11
# 1.9 数据库查询顺序
在同时有查询条件和分页的情况下,务必先执行查询条件再分页,如果先分页再执行查询条件就会漏掉,切记。
# 1.10 Git 撤销本地修改
本地文件修改了,保存了,然后发现改错了,这时候不记得改了哪些内容,也还没提交 add
提交到暂存区,此时使用 git checkout filename
,可以丢弃掉所有本地修改。
# 二、新的发现
MCP 终极指南
https://guangzhengli.com/blog/zh/model-context-protocol (opens new window)
MCP 资源合集
AI 生成产品原型
lodash,前端的一个防抖节流库
# 三、一点想法
像是 Cursor
,Claude Code
,Gemini
这些 AI
产品,写代码的水平比普通程序员好太多了,有了它明显效率高太多了,
未来该怎么办,市场根本不需要那么多的程序员,很焦虑,要想不被淘汰,只能说去拥抱 AI
。
没有人能对抗潮水的方向。